os_input_dialog:
        pusha

        push ax                                ; Save string location
        push bx                                ; Save message to show


        mov dh, 10                        ; First, draw red background box
        mov dl, 12

.redbox:                                ; Loop to draw all lines of box
        call os_move_cursor

        pusha
        mov ah, 09h
        mov bh, 0
        mov cx, 55
        mov bl, 01001111b                ; White on red
        mov al, ' '
        int 10h
        popa

        inc dh
        cmp dh, 16
        je .boxdone
        jmp .redbox


.boxdone:
        mov dl, 14
        mov dh, 11
        call os_move_cursor


        pop bx                                ; Get message back and display it
        mov si, bx
        call os_print_string

        mov dl, 14
        mov dh, 13
        call os_move_cursor


        pop ax                                ; Get input string back
        call os_input_string

        popa
        ret
otr_kern:
	mov bx, .filename_msg
	mov ax, filename_input
	call os_input_dialog
	.filename_msg db	'Kernel FileName:', 0
	filename_input	times 11 db 0